The present invention relates to an image processing technique that includes a heavy-load processing part for carrying out a time-consuming arithmetic process as compared with other computing processes.
In general, image processing apparatuses carry out prescribed processes for image-related data. Some kinds of image processing apparatuses have a heavy-load processing part for carrying out an arithmetic process that requires longer processing time as compared with other processes. For example, while ordinary processing units process data for each image data block, the heavy-load processing part carries out arithmetic for each bit data at the same driving clock frequency.
An example of such a heavy-load image processing apparatus is a JPEG 2000 imaging processing apparatus. A JPEG 2000 image processing apparatus has a coefficient-bit modeling unit and an MQ coding unit in its heavy-load processing part.
FIG. 1 schematically illustrates the data processing structure of the conventional JPEG 2000 image processing apparatus 300. Image data are subjected to color conversion at the color conversion unit 301 and separated into luminance information Y and two color-difference components Cr and Cb. Discrete wavelet transform (DWT) unit 302 uses an irreversible transform filter to carry out discrete wavelet transform at a prescribed level, and outputs the required wavelet coefficients to the quantization unit 303, which then carries out scalar quantization.
The coefficient-bit modeling unit 304 divides the wavelet coefficients into blocks of a predetermined size in each subband, and decomposes the quantized subbands of coefficients into bit-planes beginning from the highest bit in each block. Then, the coefficient-bit modeling unit 304 carries out coefficient coding for each bit data of the bit-plane of the quantized wavelet coefficients using three types of coding paths for each bit data.
MQ coder 305 carries out binary arithmetic coding for each bit of the coefficient-coded data, and outputs the resultant code data to the code stream formation unit 306.
The code stream formation unit 306 adds coding-related information to a predetermined location of the binary-arithmetic coded data generated by the MQ coder 305 and outputs a stream of code data, which is named a code steam.
The color conversion unit 301, the discrete wavelet transform unit 302, and the quantization unit 303 deal with image data blocks, each data block consisting of, for example, 8 bits or 16 bits. In contrast, the coefficient-bit modeling unit 304 and the MQ coder 305 carry out the process for each bit of data that constitutes the image data block. Accordingly, the data quantity processed by the coefficient-bit modeling unit 304 and the MQ coder 305 is much larger than that handled in the other processing units, and longer processing time is required. To this end, the coefficient-bit modeling unit 304 and the MQ coder 305 are grouped into a heavy-load processing section A.
If 8-bit image data are transformed into 12-bit discrete wavelet coefficients through the color conversion unit 301, the discrete wavelet transform unit 302 and the quantization unit 303, then the processing rates or the driving clock frequencies of the coefficient-bit modeling unit 304 and the MQ coder 305 have to be set twelve times as large as those of other processing units in order to promptly process the data supplied from the quantization unit 303 without using a large-sized buffer memory. To greatly increase the driving clock frequency, a separate clock signal generator or a large-sized frequency increasing circuit is required.